Noun
A
set
of
routines
,
protocols
,
and
tools
for
building
software
applications
,
which
makes
it
possible
for
software
components
to
interact
with
one
another
,
leading
to
the
ability
to
share
data
over
a
network
.